package co.edu.javeriana.monopoly.server.eventos;

import co.edu.javeriana.monopoly.server.modelo.Jugada;
import co.edu.javeriana.monopoly.server.modelo.Monopoly;
import co.edu.javeriana.monopoly.server.modelo.MonopolyException;

import java.rmi.RemoteException;

public class IniciarContador extends Thread{
    public IniciarContador(Monopoly _monopoly) {
        this.monopoly = _monopoly;
        this.time = this.monopoly.getTiempoespera();
    }
    
    private Monopoly monopoly;
    private long time;

    public void setMonopoly(Monopoly monopoly) {
        this.monopoly = monopoly;
    }

    public Monopoly getMonopoly() {
        return monopoly;
    }
    public void run() {

        try {
            Thread.sleep(this.time);
            Jugada jugada = new Jugada();
            InicioJuego regla = new InicioJuego(new Object[]{this.getMonopoly()});
            jugada.setRegla(regla);
            monopoly.recibirEvento(jugada);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (RemoteException e) {
             e.printStackTrace();
        } catch (MonopolyException e) {
            e.printStackTrace();
        }
    }

    public void setTime(long time) {
        this.time = time;
    }

    public long getTime() {
        return time;
    }
}
